import useDictStore from '@/store/modules/dict'
import { getDicts } from '@/api/system/dict/data'
import { ElMessage } from 'element-plus'
/**
 * 获取字典数据
 */
// export function useDict(...args) {
//   const res = ref({})
//   return (() => {
//     args.forEach((dictType, index) => {
//       res.value[dictType] = []

//       const dicts = useDictStore().getDict(dictType)
//       if (dicts) {
//         res.value[dictType] = dicts
//       } else {
//         getDicts(dictType).then((resp) => {
//           res.value[dictType] = resp.data.map((p) => ({
//             label: p.dictLabel,
//             value: p.dictValue,
//             elTagType: p.listClass,
//             elTagClass: p.cssClass,
//           }))
//           useDictStore().setDict(dictType, res.value[dictType])
//         })
//       }
//     })
//     return toRefs(res.value)
//   })()
// }
export function useDict(...args) {
  const res = ref({})
  return (() => {
    args.forEach((dictType) => {
      res.value[dictType] = []
      const dicts = useDictStore().getDict(dictType)
      if (dicts) {
        res.value[dictType] = dicts
      } else {
        getDicts(dictType).then((resp) => {
          if (resp.data.length > 0) {
            res.value[dictType] = resp.data.map((p) => ({
              dictLabel: p.dictLabel,
              dictValue: p.dictValue,
              listClass: p.listClass,
              cssClass: p.cssClass,
            }))
            useDictStore().setDict(dictType, res.value[dictType])
          } else {
            ElMessage({
              message: dictType + '字典类型暂未查到匹配的值',
              type: 'error',
            })
          }
        })
      }
    })
    return toRefs(res.value)
  })()
}
